package assist.client.gwt.view;

import com.google.web.bindery.event.shared.EventBus;
import com.google.gwt.place.shared.PlaceController;

import assist.client.gwt.service.GamesProvider;
import assist.client.gwt.service.PlayersProvider;
import assist.client.gwt.service.StatsProvider;
import assist.client.gwt.view.ui.AppContainer;
import assist.client.gwt.view.ui.SelectGamesView;
import assist.client.gwt.view.ui.ShowGamesView;
import assist.client.gwt.view.ui.ShowStatsView;
import assist.client.gwt.view.ui.SelectStatsView;
import assist.domain.model.Team;

public interface ClientFactory
{
	EventBus getEventBus();
	PlaceController getPlaceController();
	ShowStatsView getShowStatsView();
	SelectStatsView getSelectStatsView();
	ShowGamesView getShowGamesView();
    AppContainer getAppContainer();
    SelectGamesView getSelectGamesView();
    GamesProvider getGamesProvider();
    PlayersProvider getPlayersProvider(Team team);
    PlayersProvider getDefaultPlayersProvider();
    StatsProvider getStatsProvider();    
}
